<!doctype html>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<body>
<p>Dynamic absolute positioning inside inline-relative container</p>
<div id="LIKEBODY" style="position:relative">
  <div id="CONTAIN" style="position:relative; display:inline">CONTAIN
      <div id="TARGET" style="position:absolute; right:0; top:0; width:20px; height:20px; background: green">T</div>
      THE TARGET
  </div>
</div>
<script>
let contain = document.querySelector('#CONTAIN');
let target = document.querySelector('#TARGET');
let likebody = document.querySelector('#LIKEBODY');

test(() => {
    let containRect = contain.getClientRects();
    let targetRect = target.getClientRects();
    assert_equals(containRect[0].right, targetRect[0].right, "#TARGET right aligns with #CONTAIN");
    assert_equals(containRect[0].top, targetRect[0].top, "#TARGET top aligns with #CONTAIN");
  }, "test0: initial #TARGET containing rect is #CONTAIN"
);

test(() => {
    contain.style.position = 'static';
    let likebodyRect = likebody.getClientRects();
    let targetRect = target.getClientRects();
    assert_equals(likebodyRect[0].right, targetRect[0].right, "#TARGET right aligns with #LIKEBODY");
    assert_equals(likebodyRect[0].top, targetRect[0].top, "#TARGET top aligns with #LIKEBODY");

  }, "test1: after relative->static, #TARGET containing rect is #LIKEBODY"
);

test(() => {
    contain.style.position = 'relative';
    let containRect = contain.getClientRects();
    let targetRect = target.getClientRects();
    assert_equals(containRect[0].right, targetRect[0].right, "#TARGET right aligns with #CONTAIN");
    assert_equals(containRect[0].top, targetRect[0].top, "#TARGET top aligns with #CONTAIN");
  }, "test2: after static->relative, #TARGET containing rect is #CONTAIN"
);
</script>


